home *** CD-ROM | disk | FTP | other *** search
Text File | 1999-11-06 | 40.1 KB | 1,370 lines |
- /* Unterprogramm für "Noten.pprx" */
-
- signal on halt
- signal on break_c
- signal on break_e
- signal on break_d
- call ppm_SetStyle(N)
- call ppm_SetMagMode(180)
- call ppm_UpdateScreen()
-
-
- noteneingabe:
- /* Kleinster notenabstand */
- sysart = "Notensystemart:2"
- systemart = ppm_Getform("Bitte noch einmal die gewählte Systemart eingeben. (2, 1v oder 1b)", 3, sysart)
- select
- when systemart == '2' then zdist = 4
- when systemart == '1v' then zdist = 2
- when systemart == '1b' then zdist = 2
- otherwise noteneingabe()
- end
- zdist2 = zdist-2
- xgrdform = "(1,2,4,8 oder 16)"
- xgrd = ppm_GetForm("Bitte für den kleinsten Notenwert eingeben ...(nichts=ABBRUCH)", 3, xgrdform)
- if xgrd == '' then exit_msg("Abbruch")
- select
- when xgrd == '1' then xg =0.7
- when xgrd == '2' then xg =1.4
- when xgrd == '4' then xg =2.8
- when xgrd == '8' then xg =5.6
- when xgrd == '16' then xg =11.2
- otherwise noteneingabe()
- end
-
- /* Punktgröße der Noten */
- notepkt = 26
- call ppm_SetJustification(0)
-
- zz = 0 /* Zeilenzähler */
- notex = 3
- page = ppm_CurrentPage()
-
- pfad:
- do
- choose=ppm_Inform(2,"Auswahl des Notenfiles oder Abbruch ...", "Abbruch","File")
- if choose == 0 then exit_msg("Abbruch")
- eingabe = ppm_GetFileName("Bitte Notenscriptfile wählen ...", "Noten:")
- res = OPEN(notenfile, eingabe, 'R')
- if res == 0 then
- do
- call ppm_inform(1,"Fehler in der Eingabe, oder File existiert nicht !!!","OK")
- pfad()
- end
- call ppm_ShowStatus("OK, ich arbeite ...")
- auslesen(notenfile)
- end
-
- /* x-Abstände der Noten zueinander */
- auslesen:
- do
- parse arg file
- noten = READCH(file, 4000)
- i=1
- do forever
- nw = word(noten, i)
- nn = word(noten, i+1)
- al = word(noten, i+2)
- if nw == 'P' then nw = 'p'
- if nw == 'D' then nw = 'd'
- if nw == 'L' then nw = 'l'
- if nw == 'T' then nw = 't'
- if nn == 'T' then nn = 't'
- if nw == 'J' then nw = 'j'
- select
- when al == (X2C(410a)) then al = 'a'
- when al == (X2C(610a)) then al = 'a'
- when al == (X2C(300a)) then al = '0'
- otherwise exit_msg("Da war ein Fehler!")
- end
- if nw == 'E' then nw = 'e'
- call auswahl()
- i=i+3
- end
- end
-
-
- select
- when nn=='GB2' then nn = 'Gb2'
- when nn=='AB2' then nn = 'Ab2'
- when nn=='DB3' then nn = 'Db3'
- when nn=='EB3' then nn = 'Eb3'
- when nn=='GB3' then nn = 'Gb3'
- when nn=='AB3' then nn = 'Ab3'
- when nn=='DB4' then nn = 'Db4'
- when nn=='EB4' then nn = 'Eb4'
- when nn=='GB4' then nn = 'Gb4'
- when nn=='AB4' then nn = 'Ab4'
- when nn=='DB5' then nn = 'Db5'
- when nn=='EB5' then nn = 'Eb5'
- otherwise NOP
- end
-
- auswahl:
-
- do
- select
- when nw == 'j' then do
- zz = 0 /* Zeilenzähler */
- notex = 3
- return
- end
- when nw == 'e' then
- do
- call ppm_ClearStatus()
- exit_msg("Geschafft!")
- end
- when nw=='s' then
- do
- xw = xg/16
- nw='x'
- yv = 0
- end
- when nw=='S' then
- do
- xw = xg/16
- nw='X'
- yv = 0.47
- end
- when nw=='a' then
- do
- xw = xg/8
- nw='e'
- yv = 0
- end
- when nw=='A' then
- do
- xw = xg/8
- nw='E'
- yv = 0.47
- end
- when nw=='v' then
- do
- xw = xg/4
- nw='q'
- yv = 0
- end
- when nw=='V' then
- do
- xw = xg/4
- nw='Q'
- yv = 0.47
- end
- when nw=='h' then
- do
- xw = xg/2
- yv = 0
- end
- when nw=='H' then
- do
- xw = xg/2
- yv = 0.47
- end
- when nw=='g' then
- do
- xw = xg
- nw='w'
- yv = 0
- end
- when nw=='G' then
- do
- xw = xg
- nw='W'
- yv = 0.47
- end
-
- /* Sprung an den Anfang der Zeile */
- when nw == 'left' then
- do
- call ppm_SetPagePosition(0, zz+1)
- end
-
- /* Punkt nach der Note - muß als erstes eingegeben werden falls gewünscht
- den nötigen Freiraum mit "sp" eingeben */
-
- when nw == 'pk' then
- do
- if notex < 3 then
- do
- notex = bakx
- zz = zz - zdist
- call ppm_SetSize(25)
- box#id = ppm_CreateBox(notex+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'd')
- end
- else
- do
- call ppm_SetSize(25)
- box#id = ppm_CreateBox(notex-xw+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'd')
- end
- select
- when nn == '1' then
- do
- xw = xg
- notex = notex+xw
- end
- when nn == '2' then
- do
- xw = xg/2
- notex = notex+xw
- end
- when nn == '4' then
- do
- xw = xg/4
- notex = notex+xw
- end
- when nn == '8' then
- do
- xw = xg/8
- notex = notex+xw
- end
- when nn == '16' then
- do
- xw = xg/16
- notex = notex+xw
- end
- when nn == 't' then
- do
- xw = 0.2
- notex = notex+xw
- end
- when nn == '0' then do
- end
- otherwise
- do
- call ppm_ClearStatus()
- exit_msg("Da war ein Fehler")
- end
- end
- if notex >=18.7 then
- do
- notex = 2.5
- zz = zz + zdist
- end
- return
- end
-
- when nw == 'PK' then
- do
- if notex < 3 then
- do
- notex = bakx
- zz = zz - zdist
- call ppm_SetSize(25)
- box#id = ppm_CreateBox(notex+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'd')
- end
- else
- do
- call ppm_SetSize(25)
- box#id = ppm_CreateBox(notex-xw+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'd')
- end
- select
- when nn == '1' then
- do
- xw = xg
- notex = notex+xw
- end
- when nn == '2' then
- do
- xw = xg/2
- notex = notex+xw
- end
- when nn == '4' then
- do
- xw = xg/4
- notex = notex+xw
- end
- when nn == '8' then
- do
- xw = xg/8
- notex = notex+xw
- end
- when nn == '16' then
- do
- xw = xg/16
- notex = notex+xw
- end
- when nn == 't' then
- do
- xw = 0.2
- notex = notex+xw
- end
- when nn == '0' then
- do
- end
- otherwise
- do
- call ppm_ClearStatus()
- exit_msg("Da war ein Fehler")
- end
- end
- if notex >=18.7 then
- do
- notex = 2.5
- zz = zz + zdist
- end
- return
- end
-
- /* Taktstrich */
- when nw == 't' then
- do
- call ppm_SetLineWeight(0.25)
- call ppm_DrawLine(notex, 2+zz, notex, 2.8+zz)
- notex = notex+0.2
- return
- end
-
- /* Pausen */
- when nw == 'p' then
- do
- pausenwert:
- /* wert = ppm_GetForm("1/1 1/2 1/4 1/8 1/16 ...?", 2, "1 , 2, 4, 8, 16") */
- x = notex
- select
- when nn== '0' then do
- end
- when nn== '1' then do
-
- y = 2.28+zz
- call ppm_SetLineWeight(4)
- call ppm_DrawLine(x, y, x+0.4, y)
- call ppm_SetLineWeight(0.25)
- xw = xg
- notex = notex+xw
- end
-
- when nn== '2' then do
-
- y = 2.32+zz
- call ppm_SetLineWeight(4)
- call ppm_DrawLine(x, y, x+0.4, y)
- call ppm_SetLineWeight(0.25)
- xw = xg/2
- notex = notex+xw
- end
-
- when nn== '4' then do
-
- y = 2.07+zz
- Pbox = ppm_CreateBox(x, y, 0.59, 0.86, 0)
- boxnm = ppm_DocNextBox(Pbox)
- call ppm_DeleteContents(boxnm)
- call ppm_ImportGraphic(boxnm, 'Genies:noten_pausen/viertelPause', pause)
- xw = xg/4
- notex = notex+xw
- end
-
- when nn== '8' then do
-
- y = 2.21+zz
- Pbox = ppm_CreateBox(x, y, 0.27, 0.42, 0)
- boxnm = ppm_DocNextBox(Pbox)
- call ppm_DeleteContents(boxnm)
- call ppm_ImportGraphic(boxnm, 'Genies:noten_pausen/achtelPause', pause)
- xw = xg/8
- notex = notex+xw
- end
-
- when nn== '16' then do
-
- y = 2.21+zz
- Pbox = ppm_CreateBox(x, y, 0.27, 0.42, 0)
- boxnm = ppm_DocNextBox(Pbox)
- call ppm_DeleteContents(boxnm)
- call ppm_ImportGraphic(boxnm, 'Genies:noten_pausen/sechzehntelPause', pause)
- xw = xg/16
- notex = notex+xw
- end
- otherwise
- do
- call ppm_ClearStatus()
- exit_msg("Da war ein Fehler")
- end
- end
- if notex >=18.7 then
- do
- notex = 2.5
- zz = zz + zdist
- end
- return
- end
-
- when nw == 'l' then
- do
- select
-
- when nn== '1' then
- do
- xw = xg
- notex = notex+xw
- end
- when nn== '2' then
- do
- xw = xg/2
- notex = notex+xw
- end
- when nn== '4' then
- do
- xw = xg/4
- notex = notex+xw
- end
- when nn== '8' then
- do
- xw = xg/8
- notex = notex+xw
- end
- when nn== '16' then
- do
- xw = xg/16
- notex = notex+xw
- end
- when nn == 't' then
- do
- xw = 0.2
- notex = notex+xw
- end
- when nn == '0' then do
- end
- otherwise
- do
- call ppm_ClearStatus()
- exit_msg("Da war ein Fehler")
- end
- end
- if notex >=18.7 then
- do
- notex = 2.5
- zz = zz + zdist
- end
- return
- end
- otherwise
- do
- call ppm_ClearStatus()
- exit_msg("Da war ein Fehler!")
- end
- end
-
-
- /* y-Raster der Noten - Notenhälse nach oben (y-Position der Box) */
-
- call ppm_SetLineWeight(0.25)
-
- select
- when nn=='f#5' then
- do
- yw = 0.645
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
- end
- when nn=='f5' then
- do
- yw = 0.645
- if al == 'a' then call auflhoch()
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
- end
- when nn=='e5' then
- do
- yw = 0.745
- if al == 'a' then call auflhoch()
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
- end
- when nn=='eb5' then
- do
- yw = 0.745
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
- end
- when nn=='d#5' then
- do
- yw = 0.845
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- end
- when nn=='d5' then
- do
- yw = 0.845
- if al == 'a' then call auflhoch()
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- end
- when nn=='db5' then
- do
- yw = 0.845
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- end
- when nn=='c#5' then
- do
- yw = 0.945
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- end
- when nn=='c5' then
- do
- yw = 0.945
- if al == 'a' then call auflhoch()
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
- end
-
- when nn=='h4' then
- do
- yw = 1.045
- if al == 'a' then call auflhoch()
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- end
-
- when nn=='b4' then
- do
- yw = 1.045
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- end
-
- when nn=='a#4' then
- do
- yw = 1.145
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- end
-
- when nn=='a4' then
- do
- yw = 1.145
- if al == 'a' then call auflhoch()
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- end
-
- when nn=='ab4' then
- do
- yw = 1.145
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- end
-
- when nn=='g#4' then
- do
- yw = 1.245
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='g4' then
- do
- yw = 1.245
- if al == 'a' then call auflhoch()
- end
- when nn=='gb4' then
- do
- yw = 1.245
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='f#4' then
- do
- yw = 1.345
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='f4' then
- do
- yw = 1.345
- if al == 'a' then call auflhoch()
- end
- when nn=='e#4' then
- do
- yw = 1.445
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='e4' then
- do
- yw = 1.445
- if al == 'a' then call auflhoch()
- end
- when nn=='eb4' then
- do
- yw = 1.445
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='d#4' then
- do
- yw = 1.545
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='d4' then
- do
- yw = 1.545
- if al == 'a' then call auflhoch()
- end
- when nn=='db4' then
- do
- yw = 1.545
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='c#4' then
- do
- yw = 1.645
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='c4' then
- do
- yw = 1.645
- if al == 'a' then call auflhoch()
- end
- when nn=='h3' then
- do
- yw = 1.745
- if al == 'a' then call auflhoch()
- end
- when nn=='b3' then
- do
- yw = 1.745
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='a#3' then
- do
- yw = 1.845
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='a3' then
- do
- yw = 1.845
- if al == 'a' then call auflhoch()
- end
- when nn=='ab3' then
- do
- yw = 1.845
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='g#3' then
- do
- yw = 1.945
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='g3' then
- do
- yw = 1.945
- if al == 'a' then call auflhoch()
- end
- when nn=='gb3' then
- do
- yw = 1.945
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='f#3' then
- do
- yw = 2.045
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='f3' then
- do
- yw = 2.045
- if al == 'a' then call auflhoch()
- end
- when nn=='e#3' then
- do
- yw = 2.145
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='e3' then
- do
- yw = 2.145
- if al == 'a' then call auflhoch()
- end
- when nn=='eb3' then
- do
- yw = 2.145
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='d#3' then
- do
- yw = 2.245
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='d3' then
- do
- yw = 2.245
- if al == 'a' then call auflhoch()
- end
- when nn=='db3' then
- do
- yw = 2.245
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
-
- when nn=='c#3' then
- do
- yw = 2.345
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- end
-
- when nn=='c3' then
- do
- yw = 2.345
- if al == 'a' then call auflhoch()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- end
-
- when nn=='h2' then
- do
- yw = 2.445
- if al == 'a' then call auflhoch()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- end
-
- when nn=='b2' then
- do
- yw = 2.445
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- end
-
- when nn=='a#2' then
- do
- yw = 2.545
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
- when nn=='a2' then
- do
- yw = 2.545
- if al == 'a' then call auflhoch()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
- when nn=='ab2' then
- do
- yw = 2.545
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
- when nn=='g#2' then
- do
- yw = 2.645
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
- when nn=='g2' then
- do
- yw = 2.645
- if al == 'a' then call auflhoch()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
-
- when nn=='gb2' then
- do
- yw = 2.645
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
- when nn=='f#2' then
- do
- yw = 2.745
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
- end
-
- when nn=='f2' then
- do
- yw = 2.745
- if al == 'a' then call auflhoch()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
- end
-
- when nn=='e2' then
- do
- yw = 2.845
- if al == 'a' then call auflhoch()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
- end
-
-
- /* y-Raster der Noten - Notenhälse nach unten */
-
- when nn=='F#5' then
- do
- yw = 1.12
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
- end
- when nn=='F5' then
- do
- yw = 1.12
- if al == 'a' then call aufltief()
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
- end
- when nn=='E5' then
- do
- yw = 1.22
- if al == 'a' then call aufltief()
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
- end
- when nn=='Eb5' then
- do
- yw = 1.22
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
- end
- when nn=='D#5' then
- do
- yw = 1.32
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- end
- when nn=='D5' then
- do
- yw = 1.32
- if al == 'a' then call aufltief()
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- end
- when nn=='Db5' then
- do
- yw = 1.32
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- end
- when nn=='C#5' then
- do
- yw = 1.42
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- end
-
- when nn=='C5' then
- do
- yw = 1.42
- if al == 'a' then call aufltief()
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
- end
-
- when nn=='H4' then
- do
- yw = 1.52
- if al == 'a' then call aufltief()
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- end
-
- when nn=='B4' then
- do
- yw = 1.52
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- end
-
- when nn=='A#4' then
- do
- yw = 1.62
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- end
-
- when nn=='A4' then
- do
- yw = 1.62
- if al == 'a' then call aufltief()
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- end
-
- when nn=='AB4' then nn = 'Ab4'
- when nn=='Ab4' then
- do
- yw = 1.62
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- end
-
- when nn=='G#4' then
- do
- yw = 1.72
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='G4' then
- do
- yw = 1.72
- if al == 'a' then call aufltief()
- end
- when nn=='GB4' then nn = 'Gb4'
- when nn=='Gb4' then
- do
- yw = 1.72
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='F#4' then
- do
- yw = 1.82
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='F4' then
- do
- yw = 1.82
- if al == 'a' then call aufltief()
- end
- when nn=='E#4' then
- do
- yw = 1.92
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='E4' then
- do
- yw = 1.92
- if al == 'a' then call aufltief()
- end
- when nn=='EB4' then nn = 'Eb4'
- when nn=='Eb4' then
- do
- yw = 1.92
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='D#4' then
- do
- yw = 2.02
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='D4' then
- do
- yw = 2.02
- if al == 'a' then call aufltief()
- end
- when nn=='DB4' then nn = 'Db4'
- when nn=='Db4' then
- do
- yw = 2.02
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='C#4' then
- do
- yw = 2.12
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='C4' then
- do
- yw = 2.12
- if al == 'a' then call aufltief()
- end
- when nn=='H3' then
- do
- yw = 2.22
- if al == 'a' then call aufltief()
- end
- when nn=='B3' then
- do
- yw = 2.22
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='A#3' then
- do
- yw = 2.32
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='A3' then
- do
- yw = 2.32
- if al == 'a' then call aufltief()
- end
- when nn=='AB3' then nn = 'Ab3'
- when nn=='Ab3' then
- do
- yw = 2.32
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='G#3' then
- do
- yw = 2.42
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='G3' then
- do
- yw = 2.42
- if al == 'a' then call aufltief()
- end
- when nn=='GB3' then nn = 'Gb3'
- when nn=='Gb3' then
- do
- yw = 2.42
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='F#3' then
- do
- yw = 2.52
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='F3' then
- do
- yw = 2.52
- if al == 'a' then call aufltief()
- end
- when nn=='E#3' then
- do
- yw = 2.62
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='E3' then
- do
- yw = 2.62
- if al == 'a' then call aufltief()
- end
- when nn=='EB3' then nn = 'Eb3'
- when nn=='Eb3' then
- do
- yw = 2.62
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='D#3' then
- do
- yw = 2.72
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='D3' then
- do
- yw = 2.72
- if al == 'a' then call aufltief()
- end
- when nn=='DB3' then nn = 'Db3'
- when nn=='Db3' then
- do
- yw = 2.72
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
-
- when nn=='C#3' then
- do
- yw = 2.82
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- end
-
- when nn=='C3' then
- do
- yw = 2.82
- if al == 'a' then call aufltief()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- end
-
- when nn=='H2' then
- do
- yw = 2.92
- if al == 'a' then call aufltief()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- end
-
- when nn=='B2' then
- do
- yw = 2.92
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- end
-
- when nn=='A#2' then
- do
- yw = 3.02
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
- when nn=='A2' then
- do
- yw = 3.02
- if al == 'a' then call aufltief()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
- when nn=='AB3' then nn = 'Ab3'
- when nn=='Ab2' then
- do
- yw = 3.02
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
- when nn=='G#2' then
- do
- yw = 3.12
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
- when nn=='G2' then
- do
- yw = 3.12
- if al == 'a' then call aufltief()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
- when nn=='GB2' then nn = 'Gb2'
- when nn=='Gb2' then
- do
- yw = 3.12
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
- when nn=='F#2' then
- do
- yw = 3.22
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
- end
-
- when nn=='F2' then
- do
- yw = 3.22
- if al == 'a' then call aufltief()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
- end
-
- when nn=='E2' then
- do
- yw = 3.32
- if al == 'a' then call aufltief()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
- end
- otherwise
- do
- call ppm_ClearStatus()
- exit_msg("Da war ein Fehler!")
- end
- end
-
-
- /* größe einer Notenbox */
- notewidht = 0.64
- noteheight = 0.97
-
-
- boxid = ppm_CreateBox(notex, yw+zz, notewidht, noteheight, 0)
- call ppm_SetSize(notepkt)
- call ppm_TextIntoBox(boxid, nw)
- bakx = notex
- notex = (notex + xw)
- if notex >=18.7 then
- do
- notex = 2.5
- zz = zz + zdist
- end
- return
- end
- exit
-
- auflhoch:
- do
- Pbox = ppm_CreateBox(notex-0.34, yw+zz+0.07, 0.6, 1.2, 0)
- boxnm = ppm_DocNextBox(Pbox)
- call ppm_DeleteContents(boxnm)
- call ppm_ImportGraphic(boxnm, 'Genies:noten_pausen/Auflsng', Zeichen)
- return
- end
-
- aufltief:
- do
- Pbox = ppm_CreateBox(notex-0.34, yw+zz-0.4, 0.6, 1.2, 0)
- boxnm = ppm_DocNextBox(Pbox)
- call ppm_DeleteContents(boxnm)
- call ppm_ImportGraphic(boxnm, 'Genies:noten_pausen/Auflsng', Zeichen)
- return
- end
-
- break_d:
- break_e:
- break_c:
- halt:
- call exit_msg("User aborted Genie!")
-
-
- exit_msg: procedure
- do
- parse arg message
-
- if message ~= '' then
- call ppm_Inform(1,message,)
-
- call ppm_ClearStatus()
- call ppm_AutoUpdate(1)
- exit
- end
-
-